package com.gcxx.goods.sys.entity;

import javax.persistence.*;

import org.hibernate.annotations.GenericGenerator;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * <strong>Title : GoodsSysGoodsExpand<br></strong>
 * <strong>Description : </strong>GoodsSysGoodsExpand实体类<br> 
 * <strong>Create on : 2015-12-15<br></strong>
 * <p>
 * <strong>Copyright (C) 天津共创鑫星科技有限公司_智能链管理系统<br></strong>
 * <p>
 * @author guoyi<br>
 * @version <strong>1.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人		修改日期		修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
@Entity
@Table(name = "goods_sys_goods_expand")
public class GoodsSysGoodsExpand implements java.io.Serializable{
	
	//alias
	public static final String TABLE_ALIAS = "GoodsSysGoodsExpand";
	public static final String ALIAS_ID = "主键";
	public static final String ALIAS_GOODS_BLONGS_INFO = "(医院@@科室@@专业组@@仪器组@@项目组合@@具体检查项)";
	public static final String ALIAS_GOODS_NO = "物资编号";
	public static final String ALIAS_GOODS_NAME = "物资名称";
	public static final String ALIAS_USE_METHOD = "型号/方法学";
	public static final String ALIAS_NODE_STATE = "节点状态（0：删除 1：正常）";
	public static final String ALIAS_PACKAGE_CONTENT = "包装内容";
	public static final String ALIAS_CATEGORY = "试剂/耗材类别";
	public static final String ALIAS_UPDATE_TIME = "最后更新时间";
	public static final String ALIAS_UPDATE_USER_ID = "最后更新人ID";
	public static final String ALIAS_UPDATE_USER_NAME = "最后更新人名字";
	
	//date formats
	

	//columns START
	
    /**
     * 主键       db_column: ID 
     */ 	
	private java.lang.String id;
	
    /**
     * (医院@@科室@@专业组@@仪器组@@项目组合@@具体检查项)       db_column: GOODS_BLONGS_INFO 
     */ 	
	private java.lang.String goodsBlongsInfo;
	
    /**
     * 物资编号       db_column: GOODS_NO 
     */ 	
	private java.lang.String goodsNo;
	
    /**
     * 物资名称       db_column: GOODS_NAME 
     */ 	
	private java.lang.String goodsName;
	
    /**
     * 型号/方法学       db_column: USE_METHOD 
     */ 	
	private java.lang.String useMethod;
	
    /**
     * 节点状态（0：删除 1：正常）       db_column: NODE_STATE 
     */ 	
	private java.lang.String nodeState;
	
    /**
     * 包装内容       db_column: PACKAGE_CONTENT 
     */ 	
	private java.lang.String packageContent;
	
    /**
     * 试剂/耗材类别       db_column: CATEGORY 
     */ 	
	private java.lang.String category;
	
    /**
     * 最后更新时间       db_column: UPDATE_TIME 
     */ 	
	private java.lang.String updateTime;
	
    /**
     * 最后更新人ID       db_column: UPDATE_USER_ID 
     */ 	
	private java.lang.String updateUserId;
	
    /**
     * 最后更新人名字       db_column: UPDATE_USER_NAME 
     */ 	
	private java.lang.String updateUserName;
	//columns END


	public GoodsSysGoodsExpand(){
	}

	public GoodsSysGoodsExpand(
		java.lang.String id
	){
		this.id = id;
	}

	

	public void setId(java.lang.String value) {
		this.id = value;
	}
	
	@Id @GeneratedValue(generator="custom-id")
	@GenericGenerator(name="custom-id", strategy = "increment")
	@Column(name = "ID", unique = true, nullable = false, insertable = true, updatable = true, length = 50)
	public java.lang.String getId() {
		return this.id;
	}
	
	@Column(name = "GOODS_BLONGS_INFO", unique = false, nullable = true, insertable = true, updatable = true, length = 500)
	public java.lang.String getGoodsBlongsInfo() {
		return this.goodsBlongsInfo;
	}
	
	public void setGoodsBlongsInfo(java.lang.String value) {
		this.goodsBlongsInfo = value;
	}
	
	@Column(name = "GOODS_NO", unique = false, nullable = true, insertable = true, updatable = true, length = 20)
	public java.lang.String getGoodsNo() {
		return this.goodsNo;
	}
	
	public void setGoodsNo(java.lang.String value) {
		this.goodsNo = value;
	}
	
	@Column(name = "GOODS_NAME", unique = false, nullable = true, insertable = true, updatable = true, length = 200)
	public java.lang.String getGoodsName() {
		return this.goodsName;
	}
	
	public void setGoodsName(java.lang.String value) {
		this.goodsName = value;
	}
	
	@Column(name = "USE_METHOD", unique = false, nullable = true, insertable = true, updatable = true, length = 100)
	public java.lang.String getUseMethod() {
		return this.useMethod;
	}
	
	public void setUseMethod(java.lang.String value) {
		this.useMethod = value;
	}
	
	@Column(name = "NODE_STATE", unique = false, nullable = false, insertable = true, updatable = true, length = 1)
	public java.lang.String getNodeState() {
		return this.nodeState;
	}
	
	public void setNodeState(java.lang.String value) {
		this.nodeState = value;
	}
	
	@Column(name = "PACKAGE_CONTENT", unique = false, nullable = true, insertable = true, updatable = true, length = 500)
	public java.lang.String getPackageContent() {
		return this.packageContent;
	}
	
	public void setPackageContent(java.lang.String value) {
		this.packageContent = value;
	}
	
	@Column(name = "CATEGORY", unique = false, nullable = true, insertable = true, updatable = true, length = 100)
	public java.lang.String getCategory() {
		return this.category;
	}
	
	public void setCategory(java.lang.String value) {
		this.category = value;
	}
	
	@Column(name = "UPDATE_TIME", unique = false, nullable = false, insertable = true, updatable = true, length = 20)
	public java.lang.String getUpdateTime() {
		return this.updateTime;
	}
	
	public void setUpdateTime(java.lang.String value) {
		this.updateTime = value;
	}
	
	@Column(name = "UPDATE_USER_ID", unique = false, nullable = false, insertable = true, updatable = true, length = 30)
	public java.lang.String getUpdateUserId() {
		return this.updateUserId;
	}
	
	public void setUpdateUserId(java.lang.String value) {
		this.updateUserId = value;
	}
	
	@Column(name = "UPDATE_USER_NAME", unique = false, nullable = false, insertable = true, updatable = true, length = 200)
	public java.lang.String getUpdateUserName() {
		return this.updateUserName;
	}
	
	public void setUpdateUserName(java.lang.String value) {
		this.updateUserName = value;
	}
	

	public String toString() {
		return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
			.append("Id",getId())
			.append("GoodsBlongsInfo",getGoodsBlongsInfo())
			.append("GoodsNo",getGoodsNo())
			.append("GoodsName",getGoodsName())
			.append("UseMethod",getUseMethod())
			.append("NodeState",getNodeState())
			.append("PackageContent",getPackageContent())
			.append("Category",getCategory())
			.append("UpdateTime",getUpdateTime())
			.append("UpdateUserId",getUpdateUserId())
			.append("UpdateUserName",getUpdateUserName())
			.toString();
	}
	
	public int hashCode() {
		return new HashCodeBuilder()
			.append(getId())
			.toHashCode();
	}
	
	public boolean equals(Object obj) {
		if(obj instanceof GoodsSysGoodsExpand == false) return false;
		if(this == obj) return true;
		GoodsSysGoodsExpand other = (GoodsSysGoodsExpand)obj;
		return new EqualsBuilder()
			.append(getId(),other.getId())
			.isEquals();
	}
}

